#!/usr/bin/perl
#creating.cgi

require './netfilter-lib.pl';
&ReadParse();
&error_setup($text{'error_mesg'});
$ipaddr=$in{'ipaddr'};
$ipaddr2=$in{'ipaddr2'};
$objtype = $in{'objtype'};

my $ip;
my $ne;
#check before adding rule
if(!$in{'ipaddr'}) {
	#&error("please input ip addr");
}

&check_ipaddress($in{'ipaddr'}) || &error($text{'err_ipaddr'});
$ip = $ipaddr;

if ($objtype) {
	if(!$ipaddr2) {
		&error($text{'err_mask'});
	}
	if($in{'ipaddr2'}) {
		&check_ipaddress($in{'ipaddr2'}) || &error($text{'err_mask'});
		$ip = $ipaddr."/".$ipaddr2;
	}
}


$port=$in{'ruleport'};

$err_msg = $in{'ipaddr'}."|".$in{'ipaddr2'}."|".$ip."|".$port;
#&error($err_msg);
if($port){
	#&error("port");
}
else{
	#&error("all port");
}
$mark=1;

#if($in{'rule'})

if($mark==0){
  &redirect("error.cgi");
}else{
	if(!$port){
		system("/sbin/iptables -A INPUT -s $ip -j $in{'ruletype'}");
	}
	else{
		system("/sbin/iptables -A INPUT -s $ip -p tcp --dport $port -j $in{'ruletype'}");
	}
	system("/sbin/iptables-save > /etc/sysconfig/iptables");
  &redirect("index.cgi"); 
}
